package com.hex.ds.hdtp.core.app.metadata.service.impl;

import com.hex.ds.hdtp.core.app.metadata.service.ISourceConfInfoService;
import com.hex.ds.hdtp.core.inf.metadata.po.SourceConfInfoPo;
import com.hex.ds.hdtp.core.inf.metadata.repository.ISourceConfInfoRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Package: com.hex.hdc.center.app.metadata.service.impl
 * @ClassName SourceConfInfoService
 * @Description: 数据源连接配置
 * @Author: wz.li
 * @Date 2022/5/9 15:04
 * @Version v2.0.2
 **/
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class SourceConfInfoService implements ISourceConfInfoService {

    private final ISourceConfInfoRepository sourceConfInfoRepository;

    /**
     * @Method: findList <br>
     * @Param: [sourceCode] <br>
     * @Return: java.util.List<com.hex.hdc.center.app.source.dto.response.SourceConfInfoResponseDto> <br>
     * @Description：根据数据源编码获取该数据源的连接配置信息 <br>
     * @Author： lwz <br>
     * @Date： 2021/9/16 9:38 <br>
     * @Version： V1.0<br>
     */
    @Override
    public List<SourceConfInfoPo> queryListBySourceCode(String sourceCode) {
        SourceConfInfoPo sourceConfInfo = new SourceConfInfoPo().setSourceCode(sourceCode);
        return sourceConfInfoRepository.queryList(sourceConfInfo);
    }

    /**
     * @Method: add <br>
     * @Param: [requestDto] <br>
     * @Return: com.hex.hdc.center.app.common.dto.ResponseDto <br>
     * @Description：新增数据源配置信息 <br>
     * @Author： lwz <br>
     * @Date： 2021/9/16 9:38 <br>
     * @Version： V1.0<br>
     */
    @Override
    public void add(SourceConfInfoPo sourceConfInfoPo) {
        sourceConfInfoRepository.add(sourceConfInfoPo);
    }

    /*
     * @Method: removeBySourceCode <br>
     * @Param: [sourceCode] <br>
     * @Return: java.lang.Integer <br>
     * @Description：删除指定数据源连接配置<br>
     * @Author： wz.li<br>
     * @Date： 2022/5/9 15:13 <br>
     * @Version： V2.0.2<br>
     */
    @Override
    public Integer removeBySourceCode(String sourceCode) {
        return sourceConfInfoRepository.removeBySourceCode(sourceCode);
    }

}
